package com.uade.magicCompany.entities;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Transient;

import com.uade.magicCompany.model.Modelo;
import com.uade.magicCompany.model.Parque;
import com.uade.magicCompany.model.Usuario;

/**
 * <!-- begin-user-doc --> <!-- end-user-doc -->
 * 
 * @generated
 */

@Entity
public class ParqueEntity {

	private String nombre;

	private String descripcion;

	private String estado;


	@Id
	@GeneratedValue
	@Column(name = "usuarioEntity_id")
	private Long id;

	@OneToMany
	@JoinColumn(name = "usuarioEntity_id", referencedColumnName = "usuarioEntity_id")
	private List<CompraEntity> compras;

	public ParqueEntity() {
		super();
	}

	public ParqueEntity(Parque parque) {
		// this.setId(usuario.getId());
		this.setNombre(parque.getNombre());
		this.setDescripcion(parque.getDescripcion());
		this.setEstado(Modelo.ACTIVO.toString());

	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public Long getId() {
		return id;
	}


	public void setId(Long id) {
		this.id = id;
	}

	public String getDescripcion() {
		return descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	@Transient
	public Usuario getUsuario() {
		List<Compra> compras = new ArrayList<Compra>();
		for (CompraEntity compraE : this.getCompras()) {
			compras.add(compraE.getCompra());
		}
		return new Usuario(getId().longValue(), getNombre(), getApellido(),
				getPassword(), getEmail(), getTipo(), compras, getCoordenadaX(),getCoordenadaY());
	}
}
